One of the most successful and popular computer-driven chess teaching programs is the one described in U.S. Pat. No. 5,678,001, which has been successfully marketed for more than a decade under the brand name Chess Mentor®. Chess Mentor® presents various chess puzzles (problems) to be solved by moving virtual chess pieces on a board on a computer screen. To assist the player and provide a deeper level of instruction, Chess Mentor® provides with each puzzle Hints that help solve the puzzle, Instructions regarding the nature of the puzzle and Commentary on the player's efforts in solving the puzzle. The puzzles, including their Information, Hints, and Commentary, are authored by a person, typically a chess expert, and frequently concentrate on particular aspects of the game. The particular strengths and weaknesses of a particular player are not and cannot be accounted for in the puzzles offered by Chess Mentor®. Thus, while Chess Mentor® has enjoyed well deserved success, it does not approach the level of a live chess coach who can recognize a player's particular strengths and weaknesses and focus attention on those areas where improvement is most needed and often overlooked.
The system of the present invention makes a novel use of known chess engine software to create instructional puzzles (including Information, Hints and Commentary) that are computer-generated and tailored to the play of a particular (user) player.
Since the early days of computers, the ability to play chess has been one of the most popular demonstrations of computing power. As computers have become more powerful and more sophisticated, their ability to play chess at a high level has increased to the point where computer software programs that play chess (referred to herein as “chess engines”) are regularly able to dominate human players. There are numerous chess engines that are available to players (some for a fee and some free) such as the popular free chess engine software known by the acronym “CRAFTY”.
The fundamental paradigm by which such chess engines operate, however, is the same and has not changed. For every arrangement of chess pieces on a board (the search starting position), the chess engine searches the possible moves available and determines the next move that will have the most favorable result (this move is often referred to as the “top ranked” move and will be so referred to herein) assuming that the opponent counters with top ranked moves. The number of forward moves considered by the engine in arriving at the top ranked move is a function of the search time allotted to the engine. Every legal move considered by the chess engine is given a numerical score reflecting the results of making that move and following that move with the moves that the engine would make from that point forward. The top ranked move and the following chess engine moves are referred to as the “principal variation” or simply “PV”. The standardized scoring system recognized throughout the chess world enables different moves from the same starting position to be objectively compared.
In recent years, chess engines have also been used to provide an analysis of a game score (the game notation that records the game moves and allows the game to be replayed exactly) of an actual played game. If a player wants to know how the moves made in a recorded game (either his/hers or someone else's) compare with the moves a computer engine would have made, the game score can be entered into the chess engine using standard chess notation and the engine will create a database that provides a numerical score for each game move and identifies the corresponding top ranked move that the computer would have made from that position and the numerical score for that top ranked move. The numerical score of a move is reflective of the result of making that move followed by the moves (top ranked) that the chess engine would make from that point forward. The engine provides the PV for the top ranked move, as well as the game move. In this way, a player can compare his/her game play (or that of someone else) to that of the chess engine. Chess engine software used to analyze a game, as opposed to only play a game, is referred to herein as a “chess engine analyzer” (program). The database created by a chess engine analyzer as presently known in the art is referred to herein as a “standard comparative game analysis” database (“SCGA database”).
The term “database” as used herein refers to a collection of information (data) that exists in digital form for any period of time. The term “table” as used herein refers to a particular collection of data in a database and when a database is said to contain a plurality of such tables, it is to be understood that such tables may or may not exist simultaneously at any given point in time.
With the advent of the Internet, it has become increasingly popular for chess players to meet and play chess matches in cyberspace at various Internet-accessible web sites providing such services. Such web sites typically include the service of maintaining a file of the games scores of all games played by a member player. It is not unusual for an active player to accumulate hundreds of games in the course of a year or so. Accordingly, vast files of game scores accumulate at such web sites and typically are rarely used by anyone, including the players.
The present invention advances the art of computer-aided chess instructional programs by tapping the power of chess engines to create a searchable database from game scores of past played games and create instructional puzzles therefrom as valuable and effective teaching tools that, for the first time, approach the level of sophistication of a live coach.